package Produto;
//@Rodrigo Sena

import Exceptions.*;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class CadastroProduto {

    public void inserirProduto(String codigoBarras, String nome, String descricao,
            String tipo, String quantidade, String valorEntrada, String valorSaida,
            String dataEntrada, String dataSaida, String peso, String dataValidade,
            String fornecedor) throws SQLException, ClassNotFoundException,
            CodigoBarrasProdutoVazioException, NomeProdutoVazioException,
            QuantidadeProdutoVazioException, ValorEntradaProdutoVazioException,
            DataEntradaProdutoVazioException, DataValidadeProdutoVazioException {

        if (codigoBarras.trim().equals("")) {
            throw new CodigoBarrasProdutoVazioException();
        } else if (nome.trim().equals("")) {
            throw new NomeProdutoVazioException();
        } else if (quantidade.trim().equals("")) {
            throw new QuantidadeProdutoVazioException();
        } else if (valorEntrada.trim().equals("")) {
            throw new ValorEntradaProdutoVazioException();
        } else if (dataEntrada.trim().equals("")) {
            throw new DataEntradaProdutoVazioException();
        } else if (dataValidade.trim().equals("")) {
            throw new DataValidadeProdutoVazioException();
        } else {
            InterfaceProduto produto = new RepositorioProduto();
            produto.inserirProduto(codigoBarras, nome, descricao, tipo,
                    quantidade, valorEntrada, valorSaida, dataEntrada,
                    dataSaida, peso, dataValidade, fornecedor);
            JOptionPane.showMessageDialog(null, "Produto cadastrado com sucesso!");
        }

    }

    public void excluirProduto(String codigoBarras) throws CodigoBarrasProdutoVazioException,
            SQLException, ClassNotFoundException {
        InterfaceProduto produto = new RepositorioProduto();
        
        if (codigoBarras.trim().equals("")) {
            throw new CodigoBarrasProdutoVazioException();
        } else {
            produto.excluirProduto(codigoBarras);
            JOptionPane.showMessageDialog(null, "O produto de codigo de barras " + codigoBarras + "\n "
                    + "foi removido do banco com sucesso!");
        }
    }
    
    public void alterarProduto(String codigoBarras, String nome, String descricao,
            String tipo, String quantidade, String valorEntrada, String valorSaida,
            String dataEntrada, String dataSaida, String peso, String dataValidade,
            String fornecedor) throws CodigoBarrasProdutoVazioException, 
            NomeProdutoVazioException, QuantidadeProdutoVazioException, 
            ValorEntradaProdutoVazioException, DataEntradaProdutoVazioException,
            DataValidadeProdutoVazioException, SQLException, ClassNotFoundException{
        
        if (codigoBarras.trim().equals("")) {
            throw new CodigoBarrasProdutoVazioException();
        } else if (nome.trim().equals("")) {
            throw new NomeProdutoVazioException();
        } else if (quantidade.trim().equals("")) {
            throw new QuantidadeProdutoVazioException();
        } else if (valorEntrada.trim().equals("")) {
            throw new ValorEntradaProdutoVazioException();
        } else if (dataEntrada.trim().equals("")) {
            throw new DataEntradaProdutoVazioException();
        } else if (dataValidade.trim().equals("")) {
            throw new DataValidadeProdutoVazioException();
        } else {
            InterfaceProduto produto = new RepositorioProduto();
            produto.alterarProduto(codigoBarras, nome, descricao, tipo, 
                    quantidade, valorEntrada, valorSaida, dataEntrada, dataSaida, 
                    peso, dataValidade, fornecedor);
            JOptionPane.showMessageDialog(null, "O produto foi alterado com sucesso!");
        }
        
    
    }
}
